package com.stefanini.pe.bbva.bp.in.bo.impl;

import java.util.HashMap;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import com.stefanini.pe.bbva.bp.in.bo.iface.UsuarioBOIface;
import com.stefanini.pe.bbva.bp.in.dao.iface.UsuarioDAOIface;
import com.stefanini.pe.bbva.bp.in.to.Ejecutivo;
import com.stefanini.pe.bbva.bp.in.to.UsuarioAsesor;
import com.stefanini.pe.bbva.bp.in.to.UsuarioSesion;

@Service("usuarioBO")
public class UsuarioBOImpl implements UsuarioBOIface {
	@Resource
	private UsuarioDAOIface usuarioDAOIface;

	public List<UsuarioAsesor> listarUsuarios(UsuarioAsesor usuarioDatos) {
		return usuarioDAOIface.listarUsuarios(usuarioDatos);
	}
	
	public List listaTiposSupervisor(String idTipoUsuario) {
		return usuarioDAOIface.listaTiposSupervisor(idTipoUsuario);
	}
	
	public HashMap editarUsuario(UsuarioAsesor usuarioAsesor, UsuarioSesion usuarioSession) {
		return usuarioDAOIface.editarUsuario(usuarioAsesor, usuarioSession);
	}
	
	public HashMap crearUsuario(UsuarioAsesor usuarioAsesor, UsuarioSesion usuarioSession) {
		return usuarioDAOIface.crearUsuario(usuarioAsesor, usuarioSession);
	}
	
	public HashMap eliminarUsuario(Long idUsuarioAsesor) {
		return usuarioDAOIface.eliminarUsuario(idUsuarioAsesor);
	}
	
	public List obtenerDatosUsuario(String codRegistro) throws Exception{
		return usuarioDAOIface.obtenerDatosUsuario(codRegistro);
	}
	
	public List<UsuarioAsesor> obtenerDatosUsuario_PorID(int codUsuario) {
		return usuarioDAOIface.obtenerDatosUsuario_PorID(codUsuario);
	}
	
	public List<Ejecutivo> listarClientesDeEjecutivos(String nombreCliente,
										    String nroDocuCliente,
										    String idTipoEjecAReasig,
										    String idUsuarioAsesor) throws Exception{
		return usuarioDAOIface.listarClientesDeEjecutivos(nombreCliente,
														   nroDocuCliente,
														   idTipoEjecAReasig,
														   idUsuarioAsesor);
	}
	
	public HashMap grabarClientesReasignados(Integer idUsuarioAsesorReasig,
										     String idTipoAsignacion,
										     String fechsExpiracion,
										     Integer idUsuarioAsesor,
										     String codsCliente,
										     String fechaRegistro,
										     String codRegModi,
										     String terminalModi) {
		return usuarioDAOIface.grabarClientesReasignados(idUsuarioAsesorReasig,
													     idTipoAsignacion,
													     fechsExpiracion,
													     idUsuarioAsesor,
													     codsCliente,
													     fechaRegistro,
													     codRegModi,
													     terminalModi);
		}
}
